//匀速运动
function doMove(obj, attr, iSpeed, target){
	clearInterval(obj.timer);
	//iSpeed = parseInt(getStyle(obj, attr)) < target ? iSpeed : -iSpeed;	也可以在定时器外一开始就判断iSpeed的符号，以免在定时器内上一个iSpeed的符号可能会影响下一个

	obj.timer = setInterval(function(){
		var iCur = parseInt(getStyle(obj, attr));		//获取当前属性值必须放定时器里面
		iSpeed = iCur < target ? iSpeed : -Math.abs(iSpeed);	//不能是-iSpeed,否则如果iCur>target时，iSpeed会在例如10和-10这两个值跳动

		if (iCur == target) {
			clearInterval(obj.timer);
		} else{
			obj.style[attr] = iCur + iSpeed + 'px';
		};
	},30)
}

function getStyle(obj, attr){
	return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj)[attr];
}